package main

import (
	"DeviceManager/logger"
	"DeviceManager/storage"
	"DeviceManager/web"
	"encoding/json"
	"fmt"
	"log"
)

func main() {
	// 加载配置
	config, err := storage.LoadConfig()
	if err != nil {
		log.Fatalf("Failed to load config: %v", err)
	}

	// 打印配置信息以验证读取
	configJSON, _ := json.MarshalIndent(config, "", "  ")
	fmt.Println("Loaded Config:")
	fmt.Println(string(configJSON))

	// 初始化日志系统
	logger.InitLogger()

	// 记录启动日志
	logger.LogMessage("INFO", "Starting Device Manager")

	// 保存配置（根据需求决定是否需要这一步，通常加载是为了使用而非立即保存）
	if err := storage.SaveConfig(config); err != nil {
		log.Fatalf("Failed to save config: %v", err)
	}

	// 启动Web服务器
	web.StartServer(config.WebPort)
}
